# 使用占位符
name = '马冬梅'
age = 18
score = 59.5

print('我叫%s,今年%d岁,考了%.2f分' % (name, age, score))

# 使用 f-string 格式化字符串
print(f'我叫{name}, 今年{age}岁, 考了{score: .2f}分')

# 使用 format 格式化字符串
print('我叫{}, 今年{}岁, 考了{}分'.format(name, age, score))

# format 格式控制
s = 'hello world'
# {0} - 这是一个占位符，表示第一个参数（在Python中，索引从0开始）。在这个例子中，第一个参数就是 s。
# * - 这是填充字符。在这里，它表示在宽度内，空余的部分将用 * 字符填充。
# < - 这表示左对齐。所以字符串 s 将会在宽度范围内左对齐。
# 20 - 这是整个字段的宽度。在这个例子中，它表示字符串的总长度将为20字符。
# 所以，'{0:*<20}'.format(s) 的意思是：将字符串 s 左对齐，并使整个字符串的长度为20，空余的部分使用 * 填充。
print('{0:*<20}'.format(s))

# 千位分隔符
print('{0:,}'.format(987654321))
print('{0:,}'.format(9876543.333))

# 浮点数小数部分的精度
print('{0:.2f}'.format(3.1415926))
# 或者是字符串类型的最大显示长度
print('{0:.5}'.format(3.1415936))

#
a = 425
print('{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}'.format(a))
